home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Disc to the Future 2
/
Disc to the Future Part II Programmer's Reference (Wayzata Technology)(6013)(1992).bin
/
MAC
/
THINKC
/
4_0
/
GNUUCP_2
/
SOURCE
/
VMS.REA
< prev
Wrap
Text File
|
1989-07-31
|
4KB
|
115 lines
NOTES.
=====
This is UUSLAVE for VMS, part of John Gilmore's UUSLAVE. The
program is intended to make a VAX/VMS node look like a Unix UUCP site.
Programs are provided that allow incoming UUCP mail to be spooled and
then delivered on the VAX automatically via regular VAX mail.
Outgoing mail from the VAX is posted via a separate program called
rmail. UUSLAVE also now allows a VAX/VMS node to be a forwarding site
for UUCP mail.
The program was developed under VAX/VMS V4.4 on a microvax using VAX-C
2.2. Due to differences in record formats between VMS and UNIX, it's
really most useful at this time for transferring ascii text (e.g.
mail) between systems.
INSTALLATION.
=============
1). Create a regular user account on the VAX called (for example)
UUCP. Arrange that logging in to this account runs the VMS command
file GNUUCP.COM. This command file invokes GNUUCP and subsequently,
UUXQT.
2). Define CONTROL in includes.h. This should be a full filespec for
the ascii file GNUUCP.CTL that contains all the other site specific
information that GNUUCP needs. Also define EXEDIR as the directory
where rmail will live once you have built it.
I usually make 3 directories (one for source user2:[uucp.gnuucp], a
spool directory user2:[uucp.spool] and a public directory
user2:[uucp.uucppublic]). It may pay you to do the same. my EXEDIR is
the source directory, and that's also where I keep GNUUCP.CTL.
3). Make sure that the file specifications in GNUUCP.COM agree with
where you've put the actual executables.
4). Next, create the CONTROL file itself. See GNUUCP.CTL for an
example of what the file should look like e.g. this:
nodename hoptoad
debug -1
spool user2:[uucp.spool]
logfile user2:[uucp.spool]LOGFILE
pubdir user2:[uucp.uucppublic]
sysfile user2:[uucp.source]l.sys
userfile user2:[uucp.source]userfile
port ACU hayes tta2: 1200
port ACU hayes tta2: 2400
port ACU hayes tta2: 300
port ACU hayes tta3: 1200
port ACU hayes tta3: 2400
port ACU hayes tta3: 300
The Debug line is optional and gives the debugging level. The higher
the number, the more debugging information. I always use 9 for
debugging. Spool gives the file spec of the mail spool directory.
Sysfile gives the location of the L.sys file. nodename is the uucp
name of the VAX/VMS node (make up your own). userfile is the location
of the USERFILE (empty for now). pubdir is the location of the PUBLIC
directory. Files transferred by uucp commands end up here.
5). The l.sys file should contain the name of each uucp site you which
uuslave to communcate directly with, each site name on a line by
itself. Later, when dialout is operational, additional information
will be needed for each site.
6). Compile everything by running VMS.COM. It compiles perfectly over here, so
if you have problems, contact me.
OVERVIEW OF OPERATION.
======================
When a remote system logs in to VAX/VMS to the UUCP account set up in
step one, GNUUCP.COM is run. This starts up GNUUCP, which copies mail
between Spool and the remote system. Once GNUUCP terminates, UUXQT is
invoked by GNUUCP.COM. UUXQT invokes RMAIL to deliver all incoming
mail. RMAIL in turn invokes the VAX/VMS mailer to deliver the mail.
For outgoing mail, RMAIL itself queues up files in Spool, which
UUSLAVE transfers to remote systems when polled.
NOTES
=====
setuid is not readily available under VMS, so instead, everyone must have
read/write permission to the spool area, and must have sufficient disk
quota there to be able to create spool files. Totally insecure, but very easy
to implement.
The BSD call "system" as implemented for VMS may hang due to
insufficient resources (brilliant implementation by DEC there). If you
suspect this, Check by invoking rmail with a -x9 flag. Look for a line
which indicates that mail has been invoked using the "system" call,
and, more importantly, that "system" subsequently returns e.g.
rmail -x9 user
some text....
CTRL-Z
calling system: MAIL D.tmpA0004 user
spawn: completed 1
system returned status = 0
You must have sufficient system resources to spawn subprocesses and to
keep enough files open when this happens. Consult your VMS manual for
more details, since it's impossible to account for all the versions
here.
N.B. Any incoming file name with a "/" in it is copied to PUBDIR,
otherwise to SPOOLDIR.